//
//  HQYHomeSelectDetailViewController.m
//  Go!
//
//  Created by rimi on 16/7/15.
//  Copyright © 2016年 黄秋燕. All rights reserved.
//

#import "HQYHomeRecommendDetailViewController.h"
#import "HQYHomeRecommendDetailHeaderView.h"
#import "UIImageView+WebCache.h" // 图片缓存
#import "HQYFoodTableCell.h" // 列表cell样式
#import "HQYHomeCellDetailViewController.h" // 三级页面

#define tableviewCellId @"kTableviewCellIdKey"

@interface HQYHomeRecommendDetailViewController () <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) UITableView *tableView; /**< 表格视图（整个页面的底部视图即为表格） */
@property (nonatomic, strong) HQYHomeRecommendDetailHeaderView *backgroundHeadView; /**< 背景底部作为tableView的头视图 */

@end

@implementation HQYHomeRecommendDetailViewController
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.tabBarController.tabBar.hidden = YES;
    self.navigationController.navigationBar.hidden = NO;
    [self initializeDataSource];
    [self initializeUserInterface];
}

- (void)viewDidLoad {
    [super viewDidLoad];
}

#pragma mark - initialize
/**< 初始化数据源 */
- (void)initializeDataSource {
    // 设置背景图片
    [self.backgroundHeadView.defaultImageView sd_setImageWithURL:[NSURL URLWithString:_shopsDict[@"image"]] placeholderImage:IMAGE(@"等待中")];
    // 设置商铺小图标
    [self.backgroundHeadView.tinyImageView sd_setImageWithURL:[NSURL URLWithString:_shopsDict[@"tiny_image"]] placeholderImage:IMAGE(@"等待中")];
    // 设置商店名字
    self.backgroundHeadView.shopNameLabel.text = _shopsDict[@"shopName"];
    // 设置地址
    self.backgroundHeadView.addressLabel.text = _shopsDict[@"address"];
    // 设置营业时间
    self.backgroundHeadView.openTimeLabel.text = _shopsDict[@"open_time"];
    // 设置联系电话
    self.backgroundHeadView.phoneLabel.text = _shopsDict[@"phone"];
}

/**< 初始化用户界面 */
- (void)initializeUserInterface {
    //注册原型cell（xib模式）
    [self.tableView registerNib:[UINib nibWithNibName:@"HQYFoodTableCell" bundle:nil] forCellReuseIdentifier:tableviewCellId];
    
    [self.view addSubview:self.tableView];
    // 将背景图作为tableview的头部视图
    self.backgroundHeadView.frame = CGRectMake(0, 0, ScreenW, CGRectGetMaxY(self.backgroundHeadView.phoneLabel.frame) + tableView_Interval);
    self.tableView.tableHeaderView = self.backgroundHeadView;
}

#pragma mark - <UITableViewDelegate, UITableViewDataSource>
// 每组多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return ((NSArray *)self.shopsDict[@"shops"]).count;
}

// 每行是什么
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    HQYFoodTableCell *cell = [tableView dequeueReusableCellWithIdentifier:tableviewCellId];
    
    NSDictionary *dict = self.shopsDict[@"shops"][indexPath.row];
    [cell.foodIconImage sd_setImageWithURL:[NSURL URLWithString:dict[@"icon"]] placeholderImage:IMAGE(@"等待中")];
    cell.foodNameLabel.text = dict[@"name"];
    cell.foodPriceLabel.text = dict[@"price"];
    cell.foodSellNumLabel.text = dict[@"sellNum"];
    
    return cell;
}

// 点击时的方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    HQYHomeCellDetailViewController *detailVC = [[HQYHomeCellDetailViewController alloc] init];
    detailVC.dict = self.shopsDict[@"shops"][indexPath.row];
    detailVC.url = self.shopsDict[@"shops"][indexPath.row][@"url"];
    [self.navigationController pushViewController:detailVC animated:YES];
}

#pragma mark - Getter
/**< 表格视图 */
- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, ScreenW, ScreenH) style:UITableViewStylePlain];
        //设置数据源
        _tableView.dataSource = self;
        //设置代理
        _tableView.delegate = self;
        //设置行高
        _tableView.rowHeight = 70;
    }
    return _tableView;
}

/**< 背景底部作为tableView的头视图 */
- (HQYHomeRecommendDetailHeaderView *)backgroundHeadView {
    if (!_backgroundHeadView) {
        _backgroundHeadView = (HQYHomeRecommendDetailHeaderView *)[[[NSBundle mainBundle] loadNibNamed:@"HQYHomeRecommendDetailHeaderView" owner:self options:nil] firstObject];
    }
    return _backgroundHeadView;
}

@end
